Conventional approaches to generating input to a reasoning system typically involve the use of an editing tool to manually create categories (the t-box) and then use ad hoc tools to convert input data into a form that matches these categories (the a-box). Another approach takes an existing vocabulary for a knowledge base and formats data according to rules to form the knowledge base. In many cases, however, there may not be an existing vocabulary. In other cases, the addition of new data may extend the set of categories and their relationships (the t-box). For example, categories may be added by the incorporation of a new piece of data. This typically cannot be handled by ad hoc tools.
Previous approaches have several problems. First, creation of the t-box is difficult. Second, generating a-box data from the input data in a manner that is consistent with the t-box is error-prone. Third, any changes to the t-box will require modification to the tools that generate the a-box. Fourth, it is difficult to dynamically add information to the t-box.
To summarize, in many computer implementations, it is desirable to be able to perform automated reasoning on information expressed in a structured form in a computing environment. Conventional approaches to knowledge based systems typically employ manual or ad hoc tools for creating rules and entering data, which are time consuming and error prone.